Copyright>        OpenRadioss
Copyright>        Copyright (C) 1986-2024 Altair Engineering Inc.
Copyright>
Copyright>        This program is free software: you can redistribute it and/or modify
Copyright>        it under the terms of the GNU Affero General Public License as published by
Copyright>        the Free Software Foundation, either version 3 of the License, or
Copyright>        (at your option) any later version.
Copyright>
Copyright>        This program is distributed in the hope that it will be useful,
Copyright>        but WITHOUT ANY WARRANTY; without even the implied warranty of
Copyright>        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Copyright>        GNU Affero General Public License for more details.
Copyright>
Copyright>        You should have received a copy of the GNU Affero General Public License
Copyright>        along with this program.  If not, see <https://www.gnu.org/licenses/>.
Copyright>
Copyright>
Copyright>        Commercial Alternative: Altair Radioss Software
Copyright>
Copyright>        As an alternative to this open-source version, Altair also offers Altair Radioss
Copyright>        software under a commercial license.  Contact Altair to discuss further if the
Copyright>        commercial version may interest you: https://www.altair.com/radioss/.
Chd|====================================================================
Chd|  FRALEONOFF                    source/input/fraleonoff.F     
Chd|-- called by -----------
Chd|        FREFORM                       source/input/freform.F        
Chd|-- calls ---------------
Chd|        WRIUSC2                       source/input/wriusc2.F        
Chd|        MESSAGE_MOD                   share/message_module/message_mod.F
Chd|====================================================================
      SUBROUTINE FRALEONOFF (IKAD, KEY0, KALEONOFF, NBALEONOFF)
C-----------------------------------------------
C   M o d u l e s
C-----------------------------------------------
      USE MESSAGE_MOD
C-----------------------------------------------
C   I m p l i c i t   T y p e s
C-----------------------------------------------
#include      "implicit_f.inc"
C-----------------------------------------------
C   D u m m y   A r g u m e n t s
C-----------------------------------------------
      INTEGER :: IKAD(0:*), KALEONOFF, NBALEONOFF
      CHARACTER :: KEY0(*)*5
C-----------------------------------------------
C   C o m m o n   B l o c k s
C-----------------------------------------------
#include      "units_c.inc"
#include      "nchar_c.inc"
C-----------------------------------------------
C   L o c a l   V a r i a b l e s
C-----------------------------------------------      
      INTEGER K, IKEY, II, NB_PARTS, KK
      CHARACTER CARTE*ncharline, KEY1*5, KEY2*5, KEY3*5,
     .          KEY4*5, IOPT*5   
      INTEGER, DIMENSION(:), ALLOCATABLE :: PART_IDS
      K = 0
      IKEY = KALEONOFF
      DO II = 1, NBALEONOFF
         READ (IUSC1, REC = IKAD(IKEY) + K, FMT = '(7X, A, 37X, I10)')
     .        KEY1, NB_PARTS
         ALLOCATE (PART_IDS(NB_PARTS))
         IF (KEY1(1:2) == 'ON') THEN
            DO KK = 1, NB_PARTS
               CALL WRIUSC2 (IKAD(IKEY) + KK + K, 1, KEY0(IKEY))
               READ (IUSC2, * , ERR = 9990, END = 9990) PART_IDS(KK)
               WRITE (IIN, '(I10, I10)') PART_IDS(KK), 1
            ENDDO
         ENDIF
         IF (KEY1(1:3) == 'OFF') THEN
            DO KK = 1, NB_PARTS
               CALL WRIUSC2 (IKAD(IKEY) + KK + K, 1, KEY0(IKEY))
               READ (IUSC2, * , ERR = 9990, END = 9990) PART_IDS(KK)
               WRITE (IIN, '(I10, I10)') PART_IDS(KK), 0
            ENDDO
         ENDIF
         DEALLOCATE (PART_IDS)
         K = K + 1 + NB_PARTS
      ENDDO
 9990 CONTINUE
      END SUBROUTINE FRALEONOFF
